/**
 * QuartzJob查询条件类
 * 用于定义查询定时任务时的筛选条件
 */
package co.yixiang.modules.quartz.service.dto;

import co.yixiang.annotation.Query;
import lombok.Data;

import java.sql.Timestamp;
import java.util.List;

/**
 * QuartzJob查询条件
 * 该类通过多个字段定义了查询定时任务时可能涉及的条件，包括任务名称、执行成功状态、是否暂停以及创建时间范围
 */
@Data
public class QuartzJobQueryCriteria{

    /**
     * 任务名称
     * 使用INNER_LIKE进行模糊匹配，以查找包含指定关键词的任务名称
     */
    @Query(type = Query.Type.INNER_LIKE)
    private String jobName;

    /**
     * 执行成功状态
     * 用于筛选任务是否执行成功
     */
    @Query
    private Boolean isSuccess;

    /**
     * 是否暂停
     * 用于筛选任务当前是否处于暂停状态
     */
    @Query
    private Boolean isPause;

    /**
     * 创建时间范围
     * 使用BETWEEN查询，用于筛选在指定时间范围內创建的任务
     */
    @Query(type = Query.Type.BETWEEN)
    private List<Timestamp> createTime;
}
